perm filename CLTTST.TEX[B2,JMC] blob
sn#767855 filedate 1984-08-30 generic text, type C, neo UTF8
COMMENT ā VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % use this file for experimental typsetting using th `boo' macros
C00003 00003 % test material goes here
C00007 00004 \vfill\end
C00013 00005 % anything can go here as tex won't read beyond the \end
C00016 00006
C00023 ENDMK
Cā;
% use this file for experimental typsetting using th `boo' macros
\input cltex.fix[tex,clt]
\input bmac[b2,jmc]
\input bmac.fix[b2,jmc]
\catcode`@=11 % borrow the private macros of PLAIN (with care)
\def\qalign#1{\hbox{$\,\vcenter{\openup\jot\m@th
\ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
\crcr#1\crcr}}\,$}}
\def\dlindent{\relax}
\def\dlines#1{\displ@y
\halign{\hbox to\displaywidth{$\dlindent\displaystyle##\hfil$}\crcr
#1\crcr}}
\catcode`@=12 % at signs are no longer letters
% test material goes here
%
Since the termination case of $alt$ is when its argument is
\qNIL\ or its $cdr$ is \qNIL, $alt$ doesn't work properly if
$u$ is an S-expression that isn't a list.
The termination test won't ever be satisfied, and $alt$ will try to
take $cdr$ of an atom. In most \lisp s this will result in an
error message. It is common in \lisp\ for a function to be defined
in such a way that it works only for arguments of a certain kind.
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\noalign{\noindent \rm and}
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\omit{\rm and}\cr
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
\def\dlindent{\hskip2em\relax}
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\noalign{\noindent \rm and}
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\omit{\rm and}\cr
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
\def\dlindent{\hskip4em\relax}
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\noalign{\noindent \rm and}
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
$$\dlines{%
|(A B)| * |(C D)| = |(A B C D)|,\cr
%
\omit{\rm and}\cr
|(A)| * |(B C)| = |(A B C)| = |A|\qcons |(B C)|\cr
}$$
\vfill\end
\clearpage
% anything can go here as tex won't read beyond the \end